#ifndef _HCC_ERROR_CODE_MID_JT808_UPGRADE_H_
#define _HCC_ERROR_CODE_MID_JT808_UPGRADE_H_

#include "ofc/ofc_types.h"
#include "hcc/hcc_error_code.h"
#include "hcc/hcc_error_code_mid.h"

#ifdef __cplusplus
extern "C" {
#endif

#define HCC_MAKE_MID_JT808_UPGRADE_ERROR(error_code) (int)HCC_ERROR(HCC_MAKE_MID_WARE_ERROR(kHccMidWareJt808Upgrade, error_code, HCC_ERROR_LEVEL_ERROR))


/**
 * Jt808升级:
 */
typedef Int32 THccMidJt808UpgradeErrorCodeEnum;

#define kHccMidJt808UpgradeSuccess	HCC_ERROR_SUCCESS	///< 成功,没有错误
#define kHccMidJt808UpgradeParamInvalid	HCC_MAKE_MID_JT808_UPGRADE_ERROR(1)	///<参数错误
#define kHccMidJt808UpgradeTaskBusy	HCC_MAKE_MID_JT808_UPGRADE_ERROR(2)	///<任务忙
#define kHccMidJt808UpgradeParamAddressInvalid	HCC_MAKE_MID_JT808_UPGRADE_ERROR(3)	///<地址无效
#define kHccMidJt808UpgradeParamFileSizeInvalid	HCC_MAKE_MID_JT808_UPGRADE_ERROR(4)	///<文件大小无效
#define kHccMidJt808UpgradeParamHmiInvalid	HCC_MAKE_MID_JT808_UPGRADE_ERROR(5)	///<升级方式无效
#define kHccMidJt808UpgradeParamTargetInvalid	HCC_MAKE_MID_JT808_UPGRADE_ERROR(6)	///<升级类别无效
#define kHccMidJt808UpgradeReqBpiError	HCC_MAKE_MID_JT808_UPGRADE_ERROR(7)	///<获取bpi状态出错
#define kHccMidJt808UpgradeParamRwError	HCC_MAKE_MID_JT808_UPGRADE_ERROR(8)	///<参数读写出错
#define kHccMidJt808UpgradeStatusRwError	HCC_MAKE_MID_JT808_UPGRADE_ERROR(9)	///<状态读写出错
#define kHccMidJt808UpgradeFileIoError	HCC_MAKE_MID_JT808_UPGRADE_ERROR(10)	///<文件io出错
#define kHccMidJt808UpgradeFileHeaderError	HCC_MAKE_MID_JT808_UPGRADE_ERROR(11)	///<文件头出错
#define kHccMidJt808UpgradeResNotEnough	HCC_MAKE_MID_JT808_UPGRADE_ERROR(12)	///<资源不足
#define kHccMidJt808UpgradeNoConfirm	HCC_MAKE_MID_JT808_UPGRADE_ERROR(13)	///<无确认，升级已回滚

//旧版本适配补丁
#define kHccMidJt808UpgradeCodeSuccess kHccMidJt808UpgradeSuccess


#ifdef __cplusplus
}  // extern "C"
#endif

#endif // _HCC_ERROR_CODE_MID_JT808_UPGRADE_H_
/**
 * @
 */
